Hvordan utvikle på MDB2
MDB2 utvikles i git, konvertert fra bzr vinteren 2012. For mer informasjon om git og grunnleggende bruk oppfordres følgende node: git
Lag en lokal kopi
Først tar vi en klone av master-branchen.
bruker@maskin:~/dev$ git clone gitea@gitea.samfundet.no:ITK/mdb2.git
Opprett mdb2/include/config.local.php etter malen under (husk å bruke mdb2_dev til utvikling!) [HUSK Å SETTE db_pass, tip: kok passordet, se andre sin config på cassa]
<?php /* MedlemsDB2 * © 2004-2007 ITK, Studentersamfundet i Trondhjem <itk@samfundet.no> * * Description: * Configuration and initialization. */ // Debug mode // 0 - Debug off, use for production // 2 - Debug on, use for development $config['debug'] = 2; // Mail address for error logging $config['error_mail'] = "bruker@samfundet.no"; $config['adressa_mail'] = "bruker@samfundet.no"; $config['semester'] = "10"; // Database $db_type = 'pgsql'; $db_host = 'sql.samfundet.no'; $db_port = 5432; $db_name = 'mdb2_dev'; $db_user = 'mdb2web'; $db_pass = ''; ?>
Sjekk inn som vanlig etter hver endring osv. Husk små commits! Vanlig arbeidsflyt:
bruker@maskin:~/dev/mdb2$ vim foo.php gjør endring bruker@maskin:~/dev/mdb2$ git commit -a skriv commitmelding bruker@maskin:~/dev/mdb2$ vim bar.pl gjør endring bruker@maskin:~/dev/mdb2$ git commit -a ad infidum bruker@maskin:~/dev/mdb2$ git push
Oppsett for sending av commit-eposter
Det er veldig greit for andre å følge med på utvikling som skjer ved at man sender epost når man koder noe nytt. Dette kan gjøres veldig greit ved å legge inn en epost-hook i git-configen din. (Det er allerede en sentral hook for når du pusher til stable.)
bruker@maskin:~/dev/mdb2$ ln -s /home/cassarossa/itk/felles/git/post-commit-email .git/hooks/post-commit bruker@maskin:~/dev/mdb2$ git config hooks.mailinglist itk-commits-mdb@samfundet.no bruker@maskin:~/dev/mdb2$ echo mdb2.$USER > .git/description
Det vil da bli sendt en epost hver du commiter noe til det aktuelle arkivet.
Sette opp utviklings-instans
Man setter gjerne opp en utviklings-instans på cirkus, og vi ønsker en url alá http://hermansc.mdb2.samfundet.no
Det er dog noen steg vi må igjennom for få dette til:
Apache-konfigurasjon
Kopier en fungerende config fra en annen på cirkus. De ligger i /etc/apache2/sites-available/ Endre brukernavnet i configen til deg selv, og pass på at DocumentRoot er riktig. NB! Hvis du planlegger å serve filene fra hjemmeområdet er det lurt på dobbeltsjekke at hjemmemappen din har permisson +x.
ACL-er
Husk å sette opp riktige rettigheter ved å følge noden acl permissions
For å legge til denne i sites-enabled bruker vi følgende, kjør på cirkus:
bruker@maskin:~$ sudo a2ensite hermansc.mdb2.samfundet.no
DNS
Følg instruksjonene i DNS-noden.
Deretter reloader vi configen til Apache:
bruker@maskin:~$ sudo systemctl reload apache2
Verifiser at du får opp utviklingsmiljøet ditt ved å gå til http://brukernavn.mdb2.samfundet.no
Kerberos Om du er fornøyd med at du bruker prod ACL, så må du ikkje gjøre noe med Kerberos-keytab. Dette fordi mdb2 rot-urlen ikke bruke ACL, og mdb2/admin har en .htaccess config fil, med defaults som bare bruke den som er i prod, som finnes.
Om du ønsker å overstyre denne:
- Vi må sette opp egen Kerberos-keytab for utviklings-instansen din. Følg det som står i "Opprette Kerberos-keytab" i ITKACLbruk-artikkelen.
- Legg inn følgende i bunnen av din apacheconfig for devinstansen, også juster itkacl stien på bunnen som ønsket.
<Location /admin/>
AuthType GSSAPI
GssapiCredStore keytab:/etc/apache2/krb5/bruker.mdb2.keytab
AuthName "Samfundets medlemsdatabase"
GssapiCredStore cache:MEMORY:user_ccache
GssapiBasicAuth On
GssapiAllowedMech krb5
GssapiBasicAuthMech krb5
GssapiNegotiateOnce On
# Send brukere i Windows rett til basic auth, unntatt Firefox
BrowserMatch Windows(?!.*Firefox) gssapi-no-negotiate
require itkacl /web/medlemsdb
</Location>
AccessFileName .htaccess.local
Voilá
https
Vi har lyst til å bruke https, se noden om Let's Encrypt
Når du har utviklet det du vil
Det første du må gjøre er å forsikre deg om at det ikke er endringer i det offisielle MDB2-treet som har skjedd mens du utviklet, så kjør en update av mainline og gjør en merge fra mainline:
bruker@maskin:~/dev/mdb2$ git commit skriv inn commitmelding bruker@maskin:~/dev/mdb2$ git pull bruker@maskin:~/dev/mdb2$ git push
Er det konflikter eller andre endringer under pull/push, løs opp og commit.
Prøv å gjøre commit-meldingene dine rimelig informative! Bare «merge fra –bruker» er veldig lite nyttig, prøv å få med i korte trekk hva som faktisk er skjedd.
Produksjonssetting
Nå som MDB2-treet er i orden, kan du ssh-e til cirkus, som hoster MDB, og sette den nye versjonen i produksjon:
bruker@cirkus:~$ cd /var/www/samfundet.no/medlem bruker@cirkus:~$ git pull
Produksjonssetting av Kortsys
Kortsys2s filer ligger på brukeren rita sitt hjemmeområde. På cassarossa:
bruker@cassarossa:~> sudo su - rita; rita@cassarossa:~> cd ~/mdb2 rita@cassarossa:~> git pull
Voila.
Eldre/legacy informasjon
Satt ned hit etter konvertering til git, vinteren 2012:
Vi har et offisielt MDB2-repository som inneholder den kopien medlem.samfundet.no til en hver tid skal kjøre. Brukeren «mdb2» har dette treet to steder; en på cassarossa:/home/cassarossa/itk/mdb2/mdb2.bzr, og en på cirkus:/var/www/samfundet.no/medlem (som er medlem.samfundet.no). (Det ligger en symlink til sistnevnte på /home/cassarossa/itk/mdb2/web.)
Katalogen ~mdb2/mdb2 er det gamle baz-arkivet, som av sikkerhetsmessige og historiske årsaker ligger igjen. På samme måte er cirkus:/var/www/samfundet.no/mdb2/mdb2.baz det gamle baz-treet.
Lenker: Start, arch, atir, billig v1, hvordan utvikle, billig, hvordan utvikle, kortsys2, medlemsdb2, medlemsdb2rapporter, medlemsdb2unix, uka-no, hvordan utvikle
Epost: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2026-10-12 21:54 | Revisjon: 59 (historie, blame) | Totalt: 1957 kB | Rediger


